Configurable software system and user interface for automatically storing computer files

ABSTRACT

A configurable software system for automatically storing and indexing computer files. Information about the usage characteristics of a computer file are compared against a second set of data, for example, a schedule of events with dates, times, etc. If this comparison results in a match, data from the second set are associated with the computer file. Data resulting from such associations are stored and searchable.

FIELD OF THE INVENTION

[0001] This invention relates to a software application and computer interface for indexing and storing computer data files.

BACKGROUND OF THE INVENTION

[0002] When storing an electronic document, a computer user typically stipulates the file name and location where the file is to be stored. The file can be retrieved at a later time either by recalling the location where the file has been stored, or if the location has been forgotten, by searching through folders, sub-folders, and files to identify the desired file. This is a user-driven task, and retrieving files is often dependent on how adept the user is at remembering file names and locations. Finding a file when the location has been forgotten is often a time consuming task. This problem is increasing as the number and size of computer files increases. Many computer systems provide the user with a search capability that enables the user to search for files under a number of criteria. Common search criteria include file name, file type, date created or modified, and file content. The number of search criteria defines the flexibility or options a user has in searching for files. Having more criteria increases a user's ability to find files, enabling a better, more precise and efficient search.

SUMMARY OF THE INVENTION

[0003] One embodiment of the invention is directed to a process for associating scheduling data with a file consisting of the following acts: (A) stipulating a schedule of events with dates, times and activities; (B) using a computer, for example to create, modify, delete or access a current file; (C) comparing at least one characteristic of the current file against the schedule; (D) associating a searchable label to the current file when the current file matches at least one characteristic of the schedule; and (E) retrieving the current file using the label.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004]FIG. 1 illustrates a flow diagram of steps to carry out the filing and indexing process, according to one embodiment of the invention;

[0005]FIG. 2 illustrates a sample user interface to an application that could be used to build a schedule of activities, dates, and times;

[0006]FIG. 3 illustrates a representation of sample data associated with a schedule of classes, for example, for a student;

[0007]FIG. 4 illustrates a representation of sample data associated with a schedule of meetings, for example, for a businessperson;

[0008]FIG. 5 illustrates a representation of the process by which relevant information is accessed about a new document, according to one embodiment of the invention;

[0009]FIG. 6 illustrates an overview of the process for matching schedule attributes to a file, according to one embodiment of the invention;

[0010]FIG. 7 illustrates an overview of the process associated with a positive match between file and schedule, according to one embodiment of the invention;

[0011]FIG. 8 illustrates a database structure where attributes associated with files are stored;

[0012]FIG. 9 illustrates an overview of the process associated with a negative match between file and schedule, according to one embodiment of the invention;

[0013]FIG. 10 illustrates a user interface with which the user can search for files with specified attributes;

[0014]FIG. 11 illustrates a flow diagram of steps to carry out the filing and indexing process, according to another embodiment of the invention;

[0015]FIG. 12 illustrates a sample folder structure created through steps outlined in the process of FIG. 11;

[0016]FIG. 13 illustrates the results of identifying a positive match between file and schedule, according to the process of FIG. 11; and

[0017]FIG. 14 illustrates an overview of a process associated with a negative match between file and schedule, according to another embodiment of the invention;

[0018]FIG. 15 illustrates a user interface for saving and editing attributes to a file;

[0019]FIG. 16 illustrates a second embodiment of the user interfaces for savings and editing attributes to a file.

DETAILED DESCRIPTION

[0020] In accordance with one embodiment of the present invention, a configurable software system is provided for automatically assigning attributes to computer files. These attributes are stored and can be searched by a user to identify files. These attributes provide additional search criteria to the user, increasing search flexibility and enabling a better, more precise and efficient search.

[0021] A first illustrative example of the configurable software system is described making reference to FIGS. 1-10. To begin, in FIG. 1, a user inputs (in act 11) a schedule into the computer system by using a user interface. A sample user interface is given in FIG. 2, although numerous other arrangements are possible. A user interface for entering a schedule may include information such as events, for example a Lecture (FIG. 2, 25); days, or date (FIG. 2, 22); times (FIG. 2, 23). In addition, related information pertaining to the event such as location, names of people associated with the event, etc., can also be captured. Schedule data can be laid out in multiple formats. Alternative data formats are shown in FIG. 3, where a mock schedule for a university student is depicted in table format; and FIG. 4, where a mock schedule for a businessperson is depicted. The nature and content of scheduling data can vary widely depending on the individual.

[0022] Once a schedule has been created, schedule data serve as a reference against which information regarding computer usage can be checked. As shown at act 12 in FIG. 1, as a user operates a computer, for example to access, modify, delete, or save files, information regarding current computer usage is accessed. This can be done in any of numerous ways. For example, current computer usage data can be derived by querying the date and time of operation. This information can reside in the computer's internal clock or operating system.

[0023] As discussed, an example of information that may be accessed through the computer's internal clock and compared against schedule data is the date and time of computer usage. An example of this process is depicted in FIG. 5, where a new file, “Acquisition Meeting Notes,” (FIG. 5, 51) is being saved. The event of “Saving” the document triggers the system to access the computers internal clock to identify current date and time. It should be noted that the event of accessing a computer's internal clock is not dependent on employing the “Save” function, or any other function in particular. Accessing of the internal clock could be repeated frequently according to a pre-set interval, e.g., every two minutes, or triggered by a number of user events, such as opening a new file, closing a file, modifying a file, etc. Sample data accessed from the computer regarding usage, in this case, date and time regarding current usage, is depicted in FIG. 5 at 52. For clarity, these data have been labeled D_(usage) and T_(usage), respectively, where D_(usage)=Sep. 11, 2000; and T_(usage)=9:30 (military time). Accessible data about current usage is not limited to the date and time.

[0024] Information about current computer usage is then compared (in act 13) to data captured in the schedule (FIG. 1). An illustrative example of this comparison is given in FIG. 6, where accessed data about usage (FIG. 6, 61), is compared against sample schedule data (FIG. 6, 62). For clarity, schedule date and time have been labeled, D_(sch) and T_(sch), respectively. T_(sch) has two components, T_(sch1) and T_(sch2), to capture event start time and end time (FIG. 6, 63 and FIG. 6, 64). Much more data may reside in the schedule, for example location, participants, etc., as shown in FIG. 6, 65.

[0025] The process of comparing computer usage data to schedule data may take many forms. Many different comparison means, or matching algorithms, can be employed to achieve an effective comparison. As one example of a matching algorithm, D_(usage) and T_(usage) can be compared to D_(sch) and T_(sch). One illustrative Boolean expression for this sample algorithm is:

If D_(usage)=D_(sch), and T_(usage) μT_(sch1), and T_(usage) [T_(sch2), then Match=“Yes” Else, Match=“No”

[0026] This would identify a match if the current date matched the schedule data, and the current time was within the time boundaries of an event stipulated in the schedule. As discussed, matching algorithms can take many forms. An example of an alternative algorithm is one where a modified T_(usage), for example, T_(usage+)10 minutes, is compared to the schedule. This algorithm could take into account discrepancies between computer usage and the start time of events, potentially improving matching accuracy. Other more complex algorithms can be employed to improve matching accuracy under different usage conditions.

[0027] An overview of this process is illustrated in FIG. 7. Date of current computer usage (FIG. 7, 71) is compared to the date of an event in the schedule (FIG. 7, 72). In addition, the time of current computer usage (FIG. 7, 73) is compared to the times of an event in the schedule (FIG. 7, 74). Because the dates are equivalent, and the time of current usage is within the bounds of the times associated with an event in the schedule, a match is found (“Matched: YES”), (FIG. 7, 75).

[0028] Finding a successful match results in attributes from the matched event in the schedule, e.g., activity, date, time, location, participants, etc. being associated with the current file in act 15 (FIG. 1). This association can be executed automatically by the software, or by querying the user and asking for confirmation. This association can be stored within the scheduling program itself, or through other means, for example, storing attributes with files in a database. An example of this association is given in FIG. 8, where a file has been successfully associated with schedule attributes in a database structure.

[0029] If a successful match is found, additional acts, such as providing the user the opportunity to add or customize additional attributes to be associated with the file (act 16 in FIG. 1), can be incorporated into the process. Many user-definable features, such as customizing the degree to which file association is automated, can also be incorporated into the process. A further option could enable the user to cancel the association process altogether.

[0030]FIG. 15 illustrates a user interface for capturing and managing the schedule data resulting from a successful match. In this illustrative example, the user interface is triggered by the “Save” or “Save As” function. In addition to standard features associated with saving files (file name-151, folder location-152, file type-153, etc.), schedule data has been associated with the file, 154. In this example, Meeting Name-155, Meeting Location-156, Meeting Participants-157, Participant Contact-158, have been accessed from schedule data as the result of a positive match. As shown, the user interface can have additional fields, where the user can customize the interface-159, and enter additional information to be associated with the file, 160. As discussed, the user could also have the option not to associate any schedule data with the file (facilitated in this example with the “Clear All” function-161), or to hide the schedule data all together (facilitated in this example with 162).

[0031]FIG. 16 illustrates one embodiment of the user interface when the user chooses to hide attribute data (163 is not checked). The user interface associated with attributing schedule data to a file is of course not limited to the “Save” or “Save As” functions, and additional methods for accessing and editing these data, such as a separate “File Attribute” menu, function, or tab, could be provided for the described implementation.

[0032] In the event of a negative match, (following the previous example):

If D_(usage)=D_(sch), and T_(usage) μT_(sch1), and T_(usage) [T_(sch2), then Match=“Yes” Else, Match=“No”

[0033] the user can be queried (in act 17 in FIG. 1) directly for attributes to save or associate with the file, and the user can define attributes (act 18). An example of this process is given in FIG. 9, where data about the current file (FIG. 9, 91) do not match data associated with events in the schedule (FIG. 9, 92). In this example, the user is prompted to associate additional attributes to the file, (FIG. 9, 93). In this example, the user chooses to define and enter a new attribute, FIG. 9, 94. These data are then associated with the file. It is understood that the user may choose not to associate any attributes with a file, whether the result of a match is negative or positive, and that it is desirable that the user have some degree of flexibility in customizing the matching and file association process.

[0034] The final act in the process relates to the retrieval of data, FIG. 1, 19. In the preceding acts, schedule attributes have been associated with files. The user is now capable of searching and identifying files with these attributes by employing a search tool (e.g., any common search tool). An illustrative example of the process and user interface for such a query is given in FIG. 10. In this example, a search window, “Find File” enables the user to search files by attributes (FIG. 10, 101). The data to be searched for is the name, “Jack Welsh” (FIG. 10, 102). The search functionality queries the database of files and associated attributes and returns the full results (FIG. 10, 103).

[0035] A second illustrative example of the configurable software system is shown in FIG. 11. To begin, in act 251, a user inputs a schedule into the system by using a user interface. A sample user interface is given in FIG. 2. As discussed previously, a user interface for entering a schedule typically includes information such as events, for example a Lecture (FIG. 2, 25); days, or date (FIG. 2, 22); times (FIG. 2, 23). In addition, related information pertaining to the event such as location, and names of people associated with the event, can also be captured (FIG. 2, 21). Schedule data can be laid out in multiple formats, alternative data formats are shown in FIG. 3, where a mock schedule for a university student is depicted in table format; and FIG. 4, where a mock schedule for a businessperson is depicted. The nature and content of scheduling data can vary widely depending on the individual.

[0036] Once a schedule has been created, a folder structure corresponding to said schedule is generated in act 252. An example of such a folder structure is given in FIG. 12. This folder structure corresponds to data shown in FIG. 3, where activities, “Physics” and “Spanish,” (FIG. 3, 31), have been captured as file folders under the folder “Classes” 261 in FIG. 12.

[0037] Once a schedule and folder structure have been created, data associated with the schedule serve as a reference against which information regarding computer usage can be checked. As shown in act 253, as a user operates a computer, for example to access, modify, delete, or save files, information regarding current computer usage is accessed. This can be done in any of numerous ways as discussed above, including by querying the date and time of operation, which can reside in the computer's internal clock or operating system. As discussed previously, FIG. 5 illustrates this process.

[0038] Information about current computer usage is then compared (in act 254) to data captured in the schedule. The previously described matching process, algorithms and illustrations in FIGS. 6 and 7, are also applicable for this embodiment of the invention.

[0039] Finding a successful match results in the current file being saved (in act 256) in the folder associated with the matched schedule data, and attributes associated with the matched schedule data being associated with the current file. This association can be executed automatically by the software, or by querying the user and asking for confirmation. This association can be stored within the scheduling program itself, or through other means, for example, storing attributes with files in a database. An example of this saving and association is given in FIG. 13, where a file “File_Name.doc” (FIG. 27, 271) has been successfully saved in a folder, “Heinz Acquisition Meeting” (FIG. 27, 272) and associated with schedule attributes in a database structure (FIG. 27, 273).

[0040] If a successful match is found, additional acts, such as providing the user the opportunity to add or customize additional attributes to be associated with the file, could be incorporated into the process. Many user-definable features, such as customizing the degree to which file association is automated, could also be incorporated into the process. A further option could enable the user to cancel the association and filing process altogether.

[0041] In the event of a negative match, the user can be queried (act 257) directly for the target folder or save destination. An example of this process is given in FIG. 14, where data about the current file (FIG. 28, 281) do not match data associated with events in the schedule (FIG. 28, 282). In this example, the user is prompted (in act 258) to associate additional attributes to the file. In this example, the user chooses to save the file in the Miscellaneous Folder 284, a subfolder of the Activities folder. Because there is no schedule data associated with this folder, no attributes are associated with the file by the system. It is understood that the user may have options with the system to add or customize attributes according to his or her preferences.

[0042] The final act in the process relates to the retrieval of data in act 259. In the preceding acts, folders and schedule attributes have been associated with files. The user is now capable of searching and identifying files with these attributes by employing a search tool. Again, an illustrative example of the process and user interface for such a query is given in FIG. 10. In this example, a search window, “Find File” enables the user to search files by attributes (FIG. 10, 101). The data to be searched for is the name, “Jack Welsh” (FIG. 10, 102). The search functionality queries the database of files and associated attributes and returns the full results.

[0043] Having described several embodiments of the invention in detail, various modifications and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and is not intended as limiting. The invention is limited only as defined by the following claims and equivalents thereto. 

What is claimed is:
 1. A configurable software system that compares the usage characteristics of a computer file to a second data set, in order to associate data from the second set with said file.
 2. A configurable software system of claim 1, where the usage characteristics of a computer file include the date and time of operation.
 3. A configurable software system of claim 1, where the second set of data relates to a user's schedule or activities.
 4. A configurable software system of claim 1, where the data of the second set is obtained by interfacing with another software program, for example, a third party scheduling and planning software.
 5. A configurable software system of claim 1, where the association of data between the second set and said file is completed automatically, based on matching the date and time of current computer operation against a schedule of events with dates and times.
 6. A configurable software system of claim 1, where a folder structure is generated automatically according to characteristics from the second data set.
 7. A configurable software system of claim 1, where the computer user has the capability of manually entering additional data to be associated with said file.
 8. A configurable software system of claim 1, where data associated with said file resulting from such matching are stored in a searchable database, or other searchable data structure.
 9. A process for associating scheduling data with a file consisting of the following acts: (A) stipulating a schedule of events with dates, times and activities; (B) using a computer, for example to create, modify, delete or access a current file; (C) comparing at least one characteristic of the current file against the schedule; (D) associating a searchable label to the current file when the current file matches at least one characteristic of the schedule; and (E) retrieving the current file using the label.
 10. A configurable software system that embodies claim
 9. 11. A process for associating scheduling data with a file consisting of the following steps: (A) interfacing with a scheduling or planning program to import a schedule of events with dates, times, activities, and related data; (B) using a computer, for example to create, modify, delete or access files; (C) comparing at least one characteristic of the current file against the schedule; (D) associating a searchable label to the current file when the current file matches at least one characteristic of the schedule; and (E) retrieving the current file using the label.
 12. A configurable software system that embodies claim
 11. 13. A user interface consisting of input fields to save data associated with a schedule with a file.
 14. A user interface of claim 13 where said input fields include file name; file location; file type; fields derived from a schedule such as meeting name, meeting participants, participant contact information, etc.; and custom fields where a user can enter additional text data. 